import {
	createStore
} from 'vuex'

const store = createStore({
	// 为了不和页面或组件的data中的造成混淆，state中的变量前面建议加上$符号
	state: {
		$areas: {},
		$areasNew:{},
		$systemInfo:{},
		// $isShowPayPopup:false,
	},
	mutations: {
		// UPDATEUSERINFO(state, payload) {
		// 	state.$userInfo = Object.assign({}, state.$userInfo, payload)
		// },
		UPDATEAREAS(state, payload) {
			state.$areas = payload
		},
		UPDATEAREASNEW(state, payload) {
			state.$areasNew = payload
		},
		UPDATESYSTEMINFO(state, payload) {
			state.$systemInfo = payload
		},
		// UPDATEISSHOWPAYPOPUP(state, payload) {
		// 	state.$isShowPayPopup = payload
		// },
	},
	/**
	 * 
	 // 以载荷形式分发
	 store.dispatch('incrementAsync', {
	   amount: 10
	 })
	 
	 // 以对象形式分发
	 store.dispatch({
	   type: 'incrementAsync',
	   amount: 10
	 })
	 */
	actions: {
		// updateContact({
		// 	commit
		// }, payload) {
		// 	return new Promise((resolve, reject) => {
		// 		uni.$u.http
		// 			.post('/User/custom/PC/GetUserCustomerContactHandler.ashx')
		// 			.then(res => {
		// 				// commit('updateContact', res.lianxifangsi)
		// 				if (res) {
		// 					commit('UPDATECONTACT', res.lianxifangsi)
		// 					resolve()
		// 				}
		// 			})
		// 			.catch(error => {
		// 				reject(error)
		// 			})
		// 	})
		// },
		updateareas({
			commit
		}, payload) {
			commit('UPDATEAREAS', payload)
		},
		updateareasnew({
			commit
		}, payload) {
			commit('UPDATEAREASNEW', payload)
		},
		updatesysteminfo({
			commit
		}, payload) {
			commit('UPDATESYSTEMINFO', payload)
		},
		// updateisshowpaypopup({
		// 	commit
		// }, payload) {
		// 	commit('UPDATEISSHOWPAYPOPUP', payload)
		// },
	}
})

export default store